#if !defined(run_test_h)
#define run_test_h

#include "function.h"

void test_HMC(int argc, char *argv[ ]);
void test_CTS(int argc, char *argv[ ]);
void test_QN(int argc, char *argv[ ]);
void test_CGM(int argc, char *argv[ ]);
void test_Simp(int argc, char *argv[ ]);
void run_HMC(int argc, char *argv[ ], Function *Func, string& directory);
void run_CTS(int argc, char *argv[ ], Function *Func, string& directory);
void run_CGM(int argc, char *argv[ ], int seed, double ftol, Function *Func, int nruns, int ndim, string& directory);
void run_GSL_CGM(int argc, char *argv[ ], int seed, double ftol, Function *Func, int nruns, int ndim, string& directory);
void run_QN(int argc, char *argv[ ], int seed, double ftol, Function *Func, int nruns, int ndim, string& directory);
void run_QN_time(int argc, char *argv[ ], int seed, double ftol, Function *Func, int nruns, int ndim, string& directory);
void run_QN_basinHopping(int argc, char *argv[ ], int seed, double ftol, Function *Func, int nruns, int ndim, string& directory);
void run_Simp(int argc, char *argv[ ], Function *Func, string& directory, int numDim);

#endif // !defined(run_test_h)